package com.wrupple.muba.catalogs.server.domain;

import java.util.List;

import com.wrupple.muba.catalogs.server.service.CatalogDataAccessObject;
import com.wrupple.muba.catalogs.server.service.CatalogSummaryBuilder;
import com.wrupple.muba.common.domain.FilterData;
import com.wrupple.vegetate.domain.CatalogObject;

public interface CatalogActionStateBag {
	
	String CALLBACK_FUNCTION_PARAMETER="callback";

	void setRawData(String[] rawData);
	
	String[] getRawData();

	CatalogObject[] getData();
	
	void setData(CatalogObject[] data);

	Throwable getCollectedException();

	void setCollectedException(Throwable e);

	CatalogSummaryBuilder getSummaryBuilder();
	
	void setSummaryBuilder(CatalogSummaryBuilder summaryBuilder);

	void setFilterData(FilterData[] filters);
	
	FilterData[] getFilterData();

	void setCommitingResult(List<CatalogObject> result);

	List<CatalogObject> getCommitingResult();

	String getTargetEntryId();
	
	void setTargetEntryId(String id);

	CatalogDataAccessObject<? extends CatalogObject> getTargetCatalogDao();

	void setTargetCatalogDao(CatalogDataAccessObject<? extends CatalogObject> dao);
	
	String getTargetCatalogName();
	
	void setTargetCatalogName(String catalog);

	String getTargetAction();
	
	void setTargetAction(String action);

	String getCallbackFunctionName();
	
	void setCallbackFunctionName(String function);
}
